<template>
  <div>
    御剑乘风来,除魔天地间~import
    <UploadExcel :on-success="handleSuccess" />
  </div>
</template>

<script>
import { importEmployee } from '@/api/employees'
import { formatExcelDate } from '@/utils'
export default {
  name: 'Import',
  data() {
    return {}
  },
  computed: {},
  created() {},
  methods: {
    async handleSuccess({ results, header }) {
      // console.log(results, header, 666)
      // results:tbody 表体
      // header:thead 表头
      //  1. 获取表头和表体
      //   2.发送请求
      //       2.1封装api接口函数
      //       2.2调用函数
      //          2.2.1需要处理传递的参数==results
      //          2.2.2将数组中的中文字段全部转换成英文字段
      //       2.3成功后：调回员工列表页面

      /* 处理数据 */
      const mapInfo = {
        入职日期: 'timeOfEntry',
        手机号: 'mobile',
        姓名: 'username',
        转正日期: 'correctionTime',
        工号: 'workNumber',
        部门: 'departmentName'
        // 聘用形式: 'formOfEmployment'
      }
      const newResults = results.map((item) => {
        /* 3-定义一个空对象，重新定义数组中的每一项 */
        var obj = {}
        /* 1-获取中文键数组 */
        var chKeys = Object.keys(mapInfo)
        // ['入职日期', '手机号', '姓名', '转正日期', '工号', '部门', '聘用形式']
        chKeys.forEach((key) => {
          /* 2-获取中文键对应的英文值 */
          var enKey = mapInfo[key]
          /* 4-重新定义每一项的值 */
          if (enKey === 'timeOfEntry' || enKey === 'correctionTime') {
            // 5.解决excel时间转换问题  formatExcelDate
            obj[enKey] = new Date(formatExcelDate(item[key]))
          } else {
            obj[enKey] = item[key]
          }
        })
        return obj
      })
      console.log(newResults, 'loveYou')
      await importEmployee(newResults)
    }
  }
}
</script>
<style lang="less" scoped></style>
